package com.euond.permission.service;


import com.baomidou.mybatisplus.plugins.Page;
import com.euond.common.core.dto.ResultDto;
import com.euond.common.core.service.BaseService;
import com.euond.permission.entities.Role;
import com.euond.permission.entities.UserRole;

import java.util.List;
import java.util.Map;

/**
 * Created by user on 2017/7/20.
 */
public interface UserRoleService extends BaseService<UserRole> {

    /**
     * 查找用户角色关系（分页）
     *
     * @param searchParams
     */
    public Page<UserRole> findUserRoles(Map<String,Object> searchParams);


    /**
     * 查找用户的角色（前端分页）
     * @param searchParams
     * @return
     */
    public ResultDto findUserAvailableRoles(Map<String,Object> searchParams);

    /**
     * 查找用户的角色(不分页，用于shiro)
     * @param userId
     * @return
     */
    public List<Role> findUserAvailableRoles(Long userId);

    /**
     * 按用户查找没有分配的角色（分页）
     * @param searchParams
     * @return
     */
    public ResultDto findUserNotAvailableRoles(Map<String,Object> searchParams);


    /**
     * 根据角色编码、公司ID查找角色下面的用户
     * @param
     * @return
     */
    //public List<User> findUsersByRoleCode(String roleCode,long companyId);

    /**
     * 按角色Id删除用户角色
     * @param roleId
     * @return
     */
    public void deleteUserRoleByRoleId(Long roleId);

    /**
     * 按角色Id查找用户角色
     * @param roleId
     * @return
     */
    public List<UserRole> findUserRoleByRoleId(Long roleId);
}
